The invention resides generally in the field of digital data transport through a network. In particular, it relates to an apparatus for and method of transporting digital data in streams of TCP packets efficiently between two transport access points of a data transport network.
Transport systems such as the North American SONET networks are arrangements of multiplexers, switches, and transmission links that provide virtual xe2x80x9cpipesxe2x80x9d between service points. The pipes are administered and relatively static and the complexity of providing them is hidden from the higher layer services. Most of the traffic carried on the transport network is data. The increasing proportion of data traffic will require that the transport systems change to handle data packet flows more efficiently, and also to work well with features of data traffic such as high-level end-system protocols like TCP.
Existing transport systems are circuit-based and have developed as a way of efficiently managing networks based on the time division multiplexing (TDM) voice bandwidth hierarchy. In a TDM transport a circuit is set up between each pair of nodes and each remote node appears as a separate port and traffic can be sent at any time to any remote node. It provides the same fixed bandwidth TDM pipes for reliable delivery of both voice and data. The bandwidth of the physical access link is partitioned to reflect one or more circuits of the committed bandwidths. However, as the bandwidth of these circuits is committed whether it is used or not, there is no flexibility and no opportunity for traffic flows to exploit unused bandwidth of other flows (time slot being permanently assigned). This causes inefficiency for data applications which are inherently bursty. Further more, the TDM hierarchy has a coarse granularity at high bandwidths resulting in under-utilization and yet data flows are unable to exploit the leftover bandwidth of other data pipes. For example, pipes in the current TDM hierarchy are derived from aggregating 64 Kb/s circuits. This granularity becomes coarser as bandwidth increases, typical rates are 1.5 Mb/s, 45 Mb/s, 155 Mb/s, 622 Mb/s, 2.4 Gb/s. Using a 2.4 Gb/s pipe to deliver 1 Gb/s of traffic is inefficient in using network bandwidth.
In contrast, a packet based transport system allows the access bandwidth to be dynamically allocated. Remote nodes can be represented as logical ports but there is no commitment of bandwidth when this is not needed. The physical access link is fully available for traffic to any destination. In a packet transport system, virtual pipes are provided between any two transport access points. These pipes may be guaranteed some minimum rate of transmission but certainly it is required that an access point can make opportunistic use of spare bandwidth. Frame relay as a packet based transport allows more efficient use of bandwidth by permitting statistical multiplexing of data streams, thus allowing to exploit unused bandwidth. However, there is no mechanism (protocol) to ensure reliable delivery of the frames and under congestion conditions frames are discarded and the higher layer protocols must compensate for the loss. The discard of frames is not sensitive to the impact on the higher layer protocols and the frame flows do not directly adapt to the network conditions. ATM with an effective flow control can provide a lossless but dynamic transport. However, it relies on some reasonable level of complexity at the transport switching points to achieve the flow control, the effectiveness of which has not yet been proven in the field. ATM without flow control requires that cells be discarded under congestion conditions and this discard should be aware of packet boundaries and the impact on the higher layer protocol such as TCP protocol. These issues are just beginning to be understood. Because of the perceived inefficiency of ATM for the average data packet lengths, and in environments where the granularity of ATM is not needed, a packet based transport is more efficient.
Another attribute of a packet based transport system is automatic configuration. This is evident in Ethernet, one of the current packet transport systems. In an Ethernet network, new nodes can announce themselves on joining the network. They each have a unique transport (Ethernet) address and no manual configuration is needed. Any node can search for a resource, such as an IP address, using a multicast protocol and get an answer from the node which owns the resource. In this way it is very simple to build tables of associations.
As data traffic becomes the dominant load for transport systems, high efficiency in carrying data is critical. A few percent of efficiency increase can translate into a large cost saving. On the other hand, many data services now demand increased performance guarantees, such as the guaranteed bandwidth that is inherent in the TDM system, while not wanting to depart from the current open usage style of the Internet. This is a problem beyond just IP QoS protocols; transport systems, which after all carry all the traffic, can play an essential role in the total solution.
It is commonly understood in the field of the present invention that a layer under the networking layer is called xe2x80x9ctransportxe2x80x9d layer and provides pipes between networking layer nodes. This is in contrast to the layered model of the OSI (open systems interconnect) in which the transport layer resides upon the network layer which in turn sits on top of the data link layer. The data link layer provides similar functionalities to those of the transport layer of the present description. Throughout the specification, the former designation is used.
Therefore in the TCP/IP model, IP layer resides under TCP layer. The IP layer is the network layer in which IP (Internet protocol) runs and the TCP layer is the transfer layer in which the TCP (transmission control protocol) runs. The TCP has been used for ensuring reliable transfer of byte stream data between two end points over an internetwork which may be less reliable. An internetwork differs from a single network, because different parts may have wildly different topologies, bandwidth, delays, packet sizes, and other parameters. TCP allows adaptive use of available bandwidth and accommodation of different rates at different points in the internetwork or network.
In Internet terminology, aggregating traffic streams by encapsulating them into a single IP stream is often called tunneling. This invention re-uses TCP in a packet based transport to provide TCP tunneling. The use of TCP provides for reliable delivery of data between two transport access points while permitting that transport to offer elasticity and bandwidth sharing. Aggregating traffic streams into TCP tunnels reduces the size of buffers and tables in the transport switches. TCP is well suited to the use of first-in-first-out queues and allows simple implementations at the switching nodes. TCP is also inherently provides for resequencing of out-of-order packets which can occur when switching nodes spread load over multiple links.
It is an object of the invention to provide an IP packet based transport network through which one or more TCP connections (tunnels) are established between two transport access points.
It is another object of the invention to provide a technique of one or more connections dynamically sharing the bandwidth of a pipe created between two transport access points.
It is a further object of the invention to provide a method of efficiently transferring customer data between two transport access points through a packet transport network using TCP protocol.
It is yet an object of the invention to provide an interface between a customer equipment and a packet transport network which uses TCP/IP protocol.
Briefly stated in accordance with one aspect, the invention is directed to a packet transport network for efficiently transferring customer digital data. The packet transport network comprises a plurality of routing nodes, each having a routing table, for routing transport packets through routing links, and a plurality of transport access interface, each of which has an address table correlating destination of the customer digital data with addresses of transport access interfaces, for connecting one or more customer terminals through a customer access line on one side and to a routing node through a routing link on the other. Each of the transport access interfaces further converts between customer data on the customer access line and transport IP packets on the routing links.
In accordance with another aspect, the invention is directed to an interface for transferring efficiently one or more digital data flows through a packet based transport network from a source transport access point to a destination transport access point. The interface comprises an input module for identifying one or more incoming digital data flows which are destined to the destination transport access point and an address table containing addresses of one or more destination transport access points. The interface further includes an encapsulation module for encapsulating said one or more so identified incoming digital data flows into a stream of transport packets, each transport packet having its own TCP header and transport header, the latter of which identifies the destination transport access point and a transmitter for transmitting the stream of transport packets to the packet based transport network.
According to yet another aspect, the invention is directed to a method of efficiently transferring digital data flows in a packet transport network having at least two transport access interface modules, each of which is connected to one or more customer equipments. The method comprises steps of receiving at a source transport access interface module one or more digital data flows from one or more customer equipments and identifying those digital data flows which are destined to a destination transport access interface module. The method further includes steps of encapsulating said one or more digital data flows in one transport packet stream addressed to said destination transport access interface module and including a TCP header within each transport packet before sending it through the packet transport network.